package com.xmtlxx.wms.domain.bo;

import com.xmtlxx.common.core.domain.BaseEntity;
import com.xmtlxx.wms.domain.vo.ExWarehouseDtlVo;
import com.xmtlxx.system.domain.SysOss;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.List;

/**
 * 出库单业务对象 t_ex_warehouse
 *
 * @author xmtlxx
 * @date 2022-08-15
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("出库单业务对象")
public class ExWarehouseBo extends BaseEntity {

    /**
     * 出库单ID
     */
    @ApiModelProperty(value = "出库单ID")
    private String id;

    /**
     * 订单ID
     */
    @ApiModelProperty(value = "订单ID")
    private String taskId;

    /**
     * 出库单号
     */
    @ApiModelProperty(value = "出库单号")
    private String exno;

    /**
     * 单位ID
     */
    @ApiModelProperty(value = "单位ID")
    private Long deptId;

    /**
     * 仓库ID
     */
    @ApiModelProperty(value = "仓库ID")
    private String storeId;

    /**
     * 类型
     */
    @ApiModelProperty(value = "类型")
    private String type;

    /**
     * 出库原因
     */
    @ApiModelProperty(value = "出库原因")
    private String reason;

    /**
     * 目标单位
     */
    @ApiModelProperty(value = "目标单位")
    private Long targetId;

    /**
     * 目标单位联系人
     */
    @ApiModelProperty(value = "目标单位联系人")
    private String contacts;

    /**
     * 联系方式
     */
    @ApiModelProperty(value = "联系方式")
    private String tel;

    /**
     * 目标单位地址
     */
    @ApiModelProperty(value = "目标单位地址")
    private String address;

    /**
     * 经度
     */
    @ApiModelProperty(value = "经度")
    private String lng;

    /**
     * 纬度
     */
    @ApiModelProperty(value = "纬度")
    private String lat;

    /**
     * 物品数量
     */
    @ApiModelProperty(value = "物品数量")
    private Long nums;

    /**
     * 物流配送
     */
    @ApiModelProperty(value = "物流配送")
    private String flag;

    /**
     * 图片附件
     */
    @ApiModelProperty(value = "图片附件")
    private String pics;

    /**
     * 描述
     */
    @ApiModelProperty(value = "描述")
    private String memo;

    /**
     * 交接信息
     */
    @ApiModelProperty(value = "交接信息")
    private String handId;

    /**
     * 删除标识
     */
    @ApiModelProperty(value = "删除标识")
    private String delFlag;

    @ApiModelProperty("财物清单")
    private List<ExWarehouseDtlVo> items;

    @ApiModelProperty("订单编号")
    private String taskNo;

    private List<SysOss> oss;

    /**
     * 归还时间
     */
    private Date returnTime;
    /**
     * 归还状态
     */
    private String returnStatus;


    /**
     * 跨级确认
     */
    @ApiModelProperty("跨级确认")
    private String isValidate;

    /**
     * 确认时间
     */
    @ApiModelProperty("确认时间")
    private Date validateTime;

    /**
     * 确认人
     */
    @ApiModelProperty("确认人")
    private String validater;

    /**
     * 出库类型
     */
    @ApiModelProperty("出库类型")
    private String outType;

    @ApiModelProperty("是否到货")
    private String isSign;


    /**
     * 是否完成挑拣
     */
    @ApiModelProperty("是否完成挑拣")
    private String isFinish;

    private List<String> storeIds;

    /**
     * 搜索条件
     */
    private String pno;
    private String pname;

    /**
     * 转调用单号
     */
    @ApiModelProperty("转调用单号")
    private String replaceNo;
}
